/*
 * Copyright (c) 2022  by Junzhao
 * THIS FILE IS PART OF JAVASE Song Huongkang PROJECT
 * All Rights Reserved.
 */

package 学习.上.类中方法;

/**
 * 类中方法的命名和使用
 * 方法 描述类应具有的功能
 * 比如  Math类 random（）
 *      Scanner类 nextInt（）等
 *
 *  声明一定会有   权限修饰符 返回值类型 方法名 （形参列表）{
 *                  方法体
 *              }
 *
 *              权限修饰符 ：private public 缺省 protected --->封装性时细说
 *              返回值类型 ：1有时 必须在方法声明时指定返回值类型 方法中使用 return关键字 返回指定类型数据且一定要返回
 *                         2无 使用void 一般不使用return 只能 return; 来表示结束方法 其之后代码不执行
 *              该不该有返回值  “ 经 验 ”       EXPERIENCE~ 具体问题具体分析
 *                           “ 题 目 ”
 *
 *              方法名 见名知意 遵守标识符规范即可
 *
 *              形参列表 方法可以0 1 多个形参 格式 （数据类型1 形参1,数据类型2 形参2,... ...,数据类型n 形参n）
 *              该不该有形参   “ 经 验 ”       EXPERIENCE~ 具体问题具体分析 要注意代码的可重复利用性
 *                           “ 题 目 ”
 *              方法体 方法功能的体现
 *  方法的使用 ：可以调用当前类的 方法 和 属性 （特殊a方法调用a方法 递归）
 *             但是不可以在方法中定义方法
 */
public class CustomerTest {
    public static void main(String[]args){
        Customer customer1 = new Customer();
        customer1.sleep(1);
        //customer1.eat(); private时不能调用

    }

}
//客户类
class Customer{

    String name;
    int age;
    boolean isMale;

    //方法
    //无形参 返回值
    private void eat(){//改成 private时不能调用 私有
        System.out.println("客户吃饭");
        return;//return' 不必要，因为是 ''void'' 方法中的最后一条语句
    }
    //有形参 返回值
    public void sleep(int hours){
        System.out.println("休息了"+hours+"长时间");
        //sleep(10);不能这样用
    }
    //无形参 有返回值
    public String getName(){
        return name;
    }
    //有形参 有返回值
    public String getNation(String nation){
        String info = "我的国籍是"+nation;
        return info;
    }

}
